Molecules and subatomic particles follow the laws of quantum mechanics, a branch of physics that explores how the physical world works at the most fundamental levels. At this level, particles behave in strange ways, taking on more than one state at the same time, and interacting with other particles that are very far away. Quantum computing harnesses these quantum phenomena to process information.
The computers we use today are known as classical computers (also referred to herein as “conventional” computers or conventional nodes, or “CN”). A conventional computer uses a conventional processor fabricated using semiconductor materials and technology, a semiconductor memory, and a magnetic or solid-state storage device, in what is known as a Von Neumann architecture. Particularly, the processors in conventional computers are binary processors, i.e., operating on binary data represented in 1 and 0.
A quantum processor (q-processor) uses the odd nature of entangled qubit devices (compactly referred to herein as “qubit,” plural “qubits”) to perform computational operations. In the particular realms where quantum mechanics operates, particles of matter can exist in multiple states—such as an “on” state, an “off” state, and both “on” and “off” states simultaneously. Where binary computing using semiconductor, processors is limited to using just the on and off states (equivalent to 1 and 0 in binary code), a quantum processor harnesses these quantum states of matter to output signals that are usable in data computing. Herein, a qubit is the physical carrier of quantum information. A qubit is the quantum version of a bit in classical computing, and can have quantum states of |0, |1, or the linear combination of both.
Quantum computing can often be used to solve problems more quickly than in conventional computing. For example, one quantum algorithm is Grover's Search, which accomplishes searching through an unordered list of N items with fewer lookups than is the case in conventional computing.
Quantum gates are the elementary building blocks for quantum computation, acting on qubits the way classical logic gates act on bits, one and two at a time, to change qubit states in a controllable way. An X gate inverts the state of a single qubit, much like a NOT gate inverts the state of a single bit in classical computing. An H gate, or Hadamard gate, puts a single qubit into a state of superposition, a combination of the 0 and 1 quantum states. The qubit only resolves to a definite state when measured. For example, when provided with an input having a quantum state of 0, within the Hadamard gate the quantum state is in superposition, but the output has a 50 percent probability of being in the quantum 0 state and a 50 percent probability of being in the quantum 1 state. Other single-qubit gates alter the qubit state in other defined ways.
Multi-qubit gates implement gates that perform conditional logic between qubits, meaning the state of one qubit depends on the state of another. For example, a Controlled-NOT, or CNOT gate, has two qubit inputs, a target qubit and a control qubit. If the control qubit is in the |1 quantum state, the CNOT gate inverts the state of the target qubit. If the control qubit is in the |0 quantum state, the CNOT gate does not change the state of the target qubit.
Multiple qubits can also be entangled. Two or more qubits are entangled when, despite being too far apart to influence one another, they behave in ways that are individually random, but also too strongly correlated to be explained by supposing that each object is independent from the other. As a result, the combined properties of an entangled multi-qubit system can be predicted, but the individual outcome of measuring each individual qubit in such a system cannot.
Similar to conventional computing, quantum computing gates can be assembled into larger groups, called quantum circuits, to perform more complicated operations. For example, a SWAP gate, which exchanges the states of a pair of qubits, can be constructed from three CNOT gates.
Quantum circuits can perform some operations in parallel, and some in series. The length of the longest series in the program is also referred to as the depth of the quantum circuit. For example, the three CNOT gates comprising a SWAP gate are arranged in series, giving a depth of 3. Programs with a shallower depth take less execution time and provide better performance, so are preferred.
A multiple-control inversion gate (also referred to herein as an inversion gate) is a generalization of a CNOT gate. A CNOT gate has one control qubit, used to control the state of a target qubit. In contrast, a multiple-control inversion gate has more than one control qubit. If all of the control qubits are in the |1 quantum state, the multi-control inversion gate inverts the state of the target qubit. If any of the control qubits is not in the |1 quantum state, the gate does not change the state of the target qubit. A multiple-control inversion gate is also known as a Toffoli gate. Inversion gates are key components in Grover's Search and other useful quantum processing algorithms.